home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / t_os / komei4 / komei4.exe / ICON / BU1.HD6 < prev    next >
Text File  |  1993-06-04  |  5KB  |  411 lines

  1. ds_name        db    'MOJ\BU1',0
  2.  
  3. ; I_HA の前に初期化が必要
  4. ; BT1の後に初期化が必要
  5.  
  6. dt1:
  7.     call    sub_edi
  8.     dw    0
  9.     db    'I_HA',0
  10. dt2:
  11.     call    sub_edi
  12.     dw    0
  13.     db    'END1',0
  14.  
  15. p_call:
  16.     M_P_CALL
  17. p_set:
  18.     M_P_SET
  19.  
  20. paint_wd:
  21.     SET_P    dt1
  22.     SET_P    dt2
  23.     call    u_con_set
  24.     WD_LEFT
  25.     ret
  26.  
  27. re_paint:
  28.  
  29.      WD_CLS 0
  30.      BOX boxdt,2
  31.      BOX boxdt1,5
  32.      MARU marudt1,5
  33.      MARU marudt2,5
  34.      MARU up_mdt,2
  35.      MARU down_mdt,2
  36.  
  37.      MOZI    mozidt
  38.  
  39.  
  40.      ret
  41.  
  42. u_con_set:
  43.  
  44.      call e_data1
  45.      call f_size
  46.      call ds_size
  47.      mov [esi],ecx
  48.  
  49.     RAM0 edi
  50.     call e_data1
  51.     call load
  52.     jmp    set2
  53.  
  54. ;    jmp    set3
  55.  
  56.  
  57. set2:
  58.     call ds_size
  59.     mov ecx,[esi]
  60.  
  61.     push es
  62.     mov ax,114h
  63.     mov es,ax
  64.  
  65.     mov edi,1024*3+512*64
  66.  
  67.     RAM0 ebx
  68.     mov esi,ebx
  69.     cld
  70.     rep movsb
  71.     pop es
  72.     ret
  73.  
  74. ;set3:
  75. ;    mov    ah,100
  76. ;    mov    al,35        ;16c icon data の場所
  77.  
  78. ;    mov    dx,114h
  79. ;    mov edi,1024*3
  80. ;    call    komei
  81.  
  82. ;    ret
  83.  
  84. ;**************************************
  85. e_data1:
  86.     call sub_edx
  87.     db 'ICON\TIL\NO1.TIL',0
  88.  
  89. e_data2:
  90.     call sub_edx
  91.     db 'ICON\TIL\NO2.TIL',0
  92.  
  93. e_data3:
  94.     call sub_edx
  95.     db 'ICON\TIL\NO3.TIL',0
  96.  
  97. e_data4:
  98.     call sub_edx
  99.     db 'ICON\TIL\NO4.TIL',0
  100.  
  101. e_data5:
  102.     call sub_edx
  103.     db 'ICON\TIL\NO5.TIL',0
  104.  
  105. ds_size:
  106.     call sub_esi
  107.     dd    ?
  108.  
  109. f_size:
  110.     M_BYTESU
  111.  
  112. load:
  113.     M_LOAD
  114. save:
  115.     M_SAVE
  116.  
  117. p_con:
  118.     mov    ah,2
  119.     mov    al,0
  120.     call    MOUSE
  121.  
  122.     mov    ah,100
  123.     mov    al,31
  124.     call    komei1
  125.  
  126.     mov    ah,2
  127.     mov    al,1
  128.     call    MOUSE
  129.     ret
  130.  
  131.  
  132. be_called:
  133.  
  134.     YOMU    ax,300
  135.     cmp    ax,400
  136.     je    neru
  137.     cmp    ax,500
  138.     je    okiru
  139.     ret
  140.  
  141. neru:
  142.     WD_ERZ 1
  143.     WD_ERZ 0
  144.     WD_LEFT
  145.     ret
  146. okiru:
  147.     WD_WANT
  148.     jmp    re_paint
  149.  
  150.  
  151. mouse_in:                   ;諸葛亮よりwindowにマウスが入ったと言って来た。
  152.       cmp ch,1          ;左ボタンが押されていれば
  153.       je mouseck        ; 何処の箱か調べさせる
  154.       ret
  155.  
  156. mouseck:
  157.     MOU    boxdt,2
  158.      cmp bx,1                  ;bx=1 find
  159.      je short mck1             
  160.      ret
  161.  
  162. ck_mouse:
  163.     M_KENMS
  164.  
  165. mck1:
  166.     push    eax
  167.  
  168.     MOZI    mozidt1
  169.  
  170.     BOX    boxdt2,1
  171.     MOZI    mozidt2
  172.  
  173.     KAKU    word ptr 300,1
  174.     KAKU    dword ptr 302,7
  175.     CALL_P    dt2
  176.  
  177.     pop    eax
  178.     cmp    ax,1
  179.     je    mck2
  180.     jmp    mck6
  181. ;---------------------------------
  182. ;til load
  183.  
  184. mck2:
  185.     call    ck_mouse
  186.     cmp    ch,0
  187.     je    mck2
  188.     cmp    ch,1
  189.     je    mck3
  190.     jmp    mck5
  191. mck3:
  192.     MOU    boxdt1,5
  193.     cmp    bx,1
  194.     je    mck4
  195.     jmp    mck2
  196. mck4:
  197.     push    eax
  198.     call    g_fnum
  199.     push    edx
  200.  
  201.      call f_size
  202.      call ds_size
  203.      mov [esi],ecx
  204.      cmp    ecx,0
  205.      je    mck10
  206.  
  207.  
  208.     RAM0 edi
  209.     pop    edx
  210.     call load
  211.     call    set2
  212.  
  213.     pop    eax
  214.     dec    eax
  215.     mov    bx,33
  216.     mul    bx
  217.     add    ax,11
  218.  
  219.     call    up_mdt
  220.     mov    bx,[edi+26]
  221.     mov    [edi+6],bx
  222.     mov    [edi+26],ax
  223.     mov    word ptr [edi+36],10
  224.     MARU    up_mdt,2
  225.     KAKU    word ptr 300,1
  226.     CALL_P    dt1
  227.     jmp    mck5
  228.         
  229.  
  230.  
  231. mck5:
  232.      BOX    boxdt2,1
  233.      BOX    boxdt1,5
  234.      ret
  235. mck10:
  236.     pop    edx
  237.     pop    eax
  238.     jmp    mck5
  239. ;--------------------
  240. ;    til save
  241.  
  242. mck6:
  243.     call    ck_mouse
  244.     cmp    ch,0
  245.     je    mck6
  246.     cmp    ch,1
  247.     je    mck7
  248.     jmp    mck5
  249.  
  250. mck7:
  251.     MOU    boxdt1,5
  252.     cmp    bx,1
  253.     je    mck8
  254.     jmp    mck6
  255.  
  256. mck8:
  257.     push    eax
  258.  
  259.     RAM0    edi
  260.     push ds
  261.     mov ax,114h
  262.     mov ds,ax
  263.     mov esi,1024*3+512*64
  264.     mov    ecx,512*64
  265.     cld
  266.     rep movsb
  267.  
  268.     pop ds
  269.     pop    eax
  270.     push    eax
  271.  
  272.     call    g_fnum
  273.     RAM0    edi
  274.     mov    ecx,512*64
  275.     call    save
  276.  
  277.     pop    eax
  278.     dec    eax
  279.     mov    bx,33
  280.     mul    bx
  281.     add    ax,11
  282.     call    down_mdt
  283.     mov    bx,[edi+26]
  284.     mov    [edi+6],bx
  285.     mov    [edi+26],ax
  286.     mov    word ptr [edi+36],10
  287.     MARU    down_mdt,2
  288.     jmp    mck5
  289.  
  290.  
  291.  
  292. g_fnum:
  293.     cmp    ax,1
  294.     je    g_f1
  295.     cmp    ax,2
  296.     je    g_f2
  297.     cmp    ax,3
  298.     je    g_f3
  299.     cmp    ax,4
  300.     je    g_f4
  301.     cmp    ax,5
  302.     je    g_f5
  303.  
  304. g_f1:
  305.      call e_data1
  306.     ret
  307. g_f2:
  308.      call e_data2
  309.         ret
  310. g_f3:
  311.      call e_data3
  312.         ret
  313.  
  314. g_f4:
  315.      call e_data4
  316.         ret
  317. g_f5:
  318.      call e_data5
  319.     ret
  320.  
  321. ;--------------------------------------------
  322. ;         look_me   諸葛亮に読ませるwindowデータです。
  323.  
  324. look_me:
  325.      call sub_esi         ; esi 固定です。
  326.      dd 0,0
  327.      dw     1    ; ここが 1 の物は open start です。
  328.          dw      0
  329.          dw  56+8,130,370,260,15,0,0,0
  330.  
  331.  
  332. ;----------------------
  333. ;   関策に読ませるboxデータです。名前は自由です。
  334.  
  335. marudt1:
  336.     call sub_edi
  337.         dw    5,10,10,11,36,33,0,11,0,0
  338. marudt2:
  339.     call sub_edi
  340.         dw    5,10,10,11,36+50,33,0,11,0,0
  341. up_mdt:
  342.     call sub_edi
  343.         dw    1,10,10,11,36,33,0,11,0,0
  344.         dw    1,10,10,11,36,33,0,11,10,0
  345.  
  346. down_mdt:
  347.     call sub_edi
  348.         dw    1,10,10,11,36+50,33,0,11,0,0
  349.         dw    1,10,10,11,36+50,33,0,11,0,0
  350.  
  351.  
  352.  
  353. boxdt1:
  354.     call sub_edi
  355.         dw    5,32,32,1,50,33,0,15,0,0
  356.  
  357. boxdt:
  358.     call sub_edi
  359.         dw    2,40,22,30,10,0,100,15,0,0
  360. boxdt2:
  361.     call sub_edi
  362.         dw    1,20*8+3,22,72,10,0,100,0,0,0
  363.  
  364. mozidt:
  365.     call sub_edi
  366.            dw    0        ;screen_no
  367.            dw    15      ; mozi_color
  368.            dw    30+5      ; 書き出し位置  x
  369.            dw    10      ;          y
  370.            dw    0      ; next offset x
  371.            dw    100      ; next offset y
  372.     
  373.                dw   2      ; gyo suu
  374.                    db    'LOAD',0
  375.                    db    'SAVE',0
  376.                 dw 0,0
  377. mozidt2:
  378.     call sub_edi
  379.            dw    0        ;screen_no
  380.            dw    15      ; mozi_color
  381.            dw    75      ; 書き出し位置  x
  382.            dw    10      ;          y
  383.            dw    0      ; next offset x
  384.            dw    100      ; next offset y
  385.     
  386.                dw   1      ; gyo suu
  387.                    db    'キャンセルは右ボタン',0
  388.                 dw 0,0
  389.  
  390. mozidt1:
  391.     call sub_edi
  392.            dw    0        ;screen_no
  393.            dw    15      ; mozi_color
  394.            dw    2+3      ; 書き出し位置  x
  395.            dw    55      ;          y
  396.            dw    32+1      ; next offset x
  397.            dw    0      ; next offset y
  398.     
  399.                dw   5      ; gyo suu
  400.                    db    'NO1',0
  401.                    db    'NO2',0
  402.                    db    'NO3',0
  403.                    db    'NO4',0
  404.                    db    'NO5',0
  405.                 dw 0,0
  406.  
  407.  
  408.  
  409.  
  410.  
  411.